package com.crm.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("user")
//@AllArgsConstructor
public class User {
    //用户id
    @TableId
    private Long userId;
    //部门id
    private Long deptId;
    //部门名称
    private String deptName;
    //用户名称
    private String userName;
    //用户昵称
    private String nickName;
    //性别
    private String sex;
    //电话号码
    private String phoneNumber;
    //最后登录时间
    private String loginDate;
    //删除标志
    private String delFlag;
    //最后登录ip
    private String loginIp;
    //邮箱
    private String email;
    //密码
    private String password;
    //角色分配
    private String role;
    //状态
    private Integer status;
    //创建人
    private String createBy;
    //创建时间
    private LocalDateTime createTime;
    //更新人
    private String updateBy;
    //更新时间
    private LocalDateTime updateTime;
    //备注
    private String remark;

    /** 部门对象 */
//    private Dept dept;

    /** 角色对象 */
//    private List<Role> roles;

    /** 角色组 */
//    private Long[] roleIds;
//    public User()
//    {
//
//    }
//
    public User(Long userId)
    {
        this.userId = userId;
    }
//
//    public Long getUserId()
//    {
//        return userId;
//    }
//
//    public void setUserId(Long userId)
//    {
//        this.userId = userId;
//    }
//
//    public boolean isAdmin()
//    {
//        return isAdmin(this.userId);
//    }
//
//    public static boolean isAdmin(Long userId)
//    {
//        return userId != null && 1L == userId;
//    }
//
//    public Long getDeptId()
//    {
//        return deptId;
//    }
//
//    public void setDeptId(Long deptId)
//    {
//        this.deptId = deptId;
//    }
//
//    public String getNickName()
//    {
//        return nickName;
//    }
//
//    public void setNickName(String nickName)
//    {
//        this.nickName = nickName;
//    }
//
//    public String getUserName()
//    {
//        return userName;
//    }
//
//    public void setUserName(String userName)
//    {
//        this.userName = userName;
//    }
//
//    public String getEmail()
//    {
//        return email;
//    }
//
//    public void setEmail(String email)
//    {
//        this.email = email;
//    }
//
//
//    public String getSex()
//    {
//        return sex;
//    }
//
//    public void setSex(String sex)
//    {
//        this.sex = sex;
//    }
//
//
//    @JsonIgnore
//    @JsonProperty
//    public String getPassword()
//    {
//        return password;
//    }
//
//    public void setPassword(String password)
//    {
//        this.password = password;
//    }
//
//
//    public Integer getStatus()
//    {
//        return status;
//    }
//
//    public void setStatus(Integer status)
//    {
//        this.status = status;
//    }
//
//    public String getDelFlag()
//    {
//        return delFlag;
//    }
//
//    public void setDelFlag(String delFlag)
//    {
//        this.delFlag = delFlag;
//    }
//
//    public String getLoginIp()
//    {
//        return loginIp;
//    }
//
//    public void setLoginIp(String loginIp)
//    {
//        this.loginIp = loginIp;
//    }
//
//    public String getLoginDate()
//    {
//        return loginDate;
//    }
//
//    public void setLoginDate(String loginDate)
//    {
//        this.loginDate = loginDate;
//    }
//
//    public Dept getDept()
//    {
//        return dept;
//    }
//
//    public void setDept(Dept dept)
//    {
//        this.dept = dept;
//    }
//
//    public List<Role> getRoles()
//    {
//        return roles;
//    }
//
//    public void setRoles(List<Role> roles)
//    {
//        this.roles = roles;
//    }
//
//    public Long[] getRoleIds()
//    {
//        return roleIds;
//    }
//
//    public void setRoleIds(Long[] roleIds)
//    {
//        this.roleIds = roleIds;
//    }

    public boolean isAdmin()
    {
        return isAdmin(this.userId);
    }

    public static boolean isAdmin(Long userId)
    {
        return userId != null && 1L == userId;
    }

}


